<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //实例：实例对象
        //类型：类型对象
        function Person(name,age){//构造函数 类型
            this.name=name;
            this.age=age;
        }
        var p=new Person('tom',12)//根据类型创建的对象

        console.log('----------------------------------------------')

        var a
        console.log(a);
        a=null;
        console.log(a);

        var b=null;//初始赋值为null，表明将要赋值为对象
        //确定对象就赋值
        b=['atguigu',13]
        //最后
        b=null;//让b执行的对象称为垃圾对象（被垃圾回收器回收）
        console.log('----------------------------------------------')
        var c=function(){
            
        }
        console.log(typeof c);
    </script>
</head>
<body>
    <!-- 

        1. undefined和null的区别？
            ubdefined代表定义未赋值
            null定义了并赋值，只不过值为null
        2.什么时候给变量赋值为null？
            初始赋值为null，表明将要赋值为对象
            结束前，让对象称为垃圾对象（被垃圾回收器回收）

        3.严格区别变量类型与数据类型？
        *数据的类型
            -基本类型
            -对象类型
        *变量的类型（变量内存值的类型）
            -基本类型：保存就是基本类型的数据
            -引用类型：保存的是地址值
     -->
</body>
</html>